package com.sms.client;

import java.util.List;
import java.util.Map;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface _HibernateServiceAsync {
	public void saveObject(java.io.Serializable obj, AsyncCallback asyncCallback);
	
	public void saveObject(java.io.Serializable obj,Boolean endorsement, AsyncCallback asyncCallback);

	public void saveObjects(List objs, AsyncCallback asyncCallback);
	
	public void updateObject(String dataObjectId, Long savedPKID,String[] propertiesExpression,String[] propertiesValues , AsyncCallback asyncCallback);
	
	public void updateObject(String dataObjectId, Map<String, Object> dataValues, String whereClause,AsyncCallback asyncCallback);

	public void deleteObject(java.io.Serializable obj, AsyncCallback asyncCallback);

	public void deleteObjects(List objs, AsyncCallback asyncCallback);

	public void findObjectByID(String dataObjectID, String id, AsyncCallback asyncCallback);

	public void findObjectByID(String dataObjectID, Number id, AsyncCallback asyncCallback);

	public void findValue(String functionName, String dataObjectId, String columnName, String filterString, AsyncCallback asyncCallback);
	public void findObjects(String dataObjectId, String filterStr, AsyncCallback asyncCallback);

	public void findObjects(String dataObjectId, String filterStr, String orderBy, AsyncCallback asyncCallback);

	public void findObjects(String dataObjectId, String filterStr, String[] filterAndOrderExtraColumnExps, AsyncCallback asyncCallback);

	public void findObjects(String dataObjectId, String filterStr, String orderBy, String[] filterAndOrderExtraColumnExps, AsyncCallback asyncCallback);

	public void findObjects(String dataObjectId, String[] columnExpressions, String filterStr, AsyncCallback asyncCallback);

	public void findObjects(String dataObjectId, String[] columnExpressions, String filterStr, String orderBy, AsyncCallback asyncCallback);

	public void findObjects(String dataObjectId, String[] columnExpressions, String filterStr, String[] filterAndOrderExtraColumnExps, AsyncCallback asyncCallback);

	public void findObjects(String dataObjectId, String[] columnExpressions, String filterStr, String orderBy, String[] filterAndOrderExtraColumnExps, AsyncCallback asyncCallback);

	public void findObjectsOnObjectBasis(String dataObjectId, String[] columnExpressions, String filterStr, String[] filterAndOrderExtraColumnExps, AsyncCallback asyncCallback);

	public void findObjectsOnObjectBasis(String dataObjectId, String[] columnExpressions, String filterStr, String orderBY, String[] filterAndOrderExtraColumnExps, AsyncCallback asyncCallback);

	public void findObjectsOnObjectBasis(String dataObjectId, String filterStr, String[] filterAndOrderExtraColumnExps, AsyncCallback asyncCallback);

	public void findObjects(String dataObjectId, String[] columnExpressions, String filterStr, boolean useNativeSQL, AsyncCallback asyncCallback);

	public void findObjects(String dataObjectId, String[] columnExpressions, String filterStr, String orderBy, boolean useNativeSQL, AsyncCallback asyncCallback);

	public void findObjects(String dataObjectId, String[] columnExpressions, String filterStr, String[] filterAndOrderExtraColumnExps, boolean useNativeSQL, AsyncCallback asyncCallback);

	public void findObjects(String dataObjectId, String[] columnExpressions, String filterStr, String orderBy, String[] filterAndOrderExtraColumnExps, boolean useNativeSQL, AsyncCallback asyncCallback);

	public void populateDataClass(String dataObjectId, String[] columnExpressions, AsyncCallback asyncCallback);

	public void getFilterColumnParameters(String dataObjectId, String[] columnExpressions, AsyncCallback callback);

	public void getFilterColumnParameters(String dataObjectId, String[] columnExpressions, boolean leftJoin, AsyncCallback callback);


	public void getTableValues(List modelList, List tableNameList, String stripeOrgID, AsyncCallback callback);

	public void getSearchResult(String strQuery, AsyncCallback callback);
	
	public void updateGrievanceCategorySetup(String updateQuery,AsyncCallback callback);
	
	public void getServerDate(AsyncCallback asyncCallback);
	
	public void findObjects(String dataObjectId, String[] columnExpressions, String filterStr, String orderBy,boolean useNativeSQL,boolean allRecords,AsyncCallback asyncCallback);
}